To force correct column types, I would recommend using scripts to initialize the tables in the database and leave PetaPoco to perform CRUD operations. This is evident in the tests being used in PetaPoco where scripts are used for initialization as follows:
SQL Server
CREATE TABLE petapoco (
id bigint IDENTITY(1,1) NOT NULL,
date_created datetime NOT NULL,
...
);
mysql
CREATE TABLE petapoco (
id bigint AUTO_INCREMENT NOT NULL,
date_created datetime NOT NULL,
...
) ENGINE=INNODB;
The column decorator is used to change the column name to which a property is mapped by specifying it as an argument to the [column] attribute. Therefore if you have a property named id but the column name in the table is named article_id, you would use the following to do the mappings:
[Column("article_id")]
public long id { get; set; }
In your code you would be using the property name while saving and fetching data and PetaPoco will map the property to the correct column.
So in your question, there would be no need for the attribute as the property and the column names are identical.