如何添加 Check Constraints 迁移 Codeigniter PostgreSQL
How add Check Constraints migration Codeigniter PostgreSQL
我正在尝试执行以下迁移 table:
SQL:
CREATE TABLE
(
product_no integer,
name text,
price numeric positive_price CHECK (price> 0)
);
PHP:
$this->dbforge->drop_table('products', true);
$this->dbforge->add_field(array(
'product_no' => array(
'type' => 'INTEGER'
),
'name' => array(
'type' => 'VARCHAR',
'constraint' => '20'
),
'price' => array(
'type' => 'NUMERIC',
'constraint' => 'CONSTRAINT positive_price CHECK (price > 0)'
)
));
$this->dbforge->add_key('product_no', TRUE);
$this->dbforge->create_table('products');
但生成的查询无效:
SQL:
CREATE TABLE "products" ( "product_no" INTEGER NOT NULL, "name" VARCHAR(20) NOT NULL, "price" NUMERIC(positive_price CHECK (price > 0)) NOT NULL )
有什么建议吗?
在花了一些时间思考找到的解决方案之后。要生成与使用 'migrations' 示例相同的 table 就足以在完成课程后添加 'CHECK (price> 0)'。
PHP:
'price' => array(
'type' => 'NUMERIC CHECK (price > 0)'
)
我正在尝试执行以下迁移 table:
SQL:
CREATE TABLE
(
product_no integer,
name text,
price numeric positive_price CHECK (price> 0)
);
PHP:
$this->dbforge->drop_table('products', true);
$this->dbforge->add_field(array(
'product_no' => array(
'type' => 'INTEGER'
),
'name' => array(
'type' => 'VARCHAR',
'constraint' => '20'
),
'price' => array(
'type' => 'NUMERIC',
'constraint' => 'CONSTRAINT positive_price CHECK (price > 0)'
)
));
$this->dbforge->add_key('product_no', TRUE);
$this->dbforge->create_table('products');
但生成的查询无效:
SQL:
CREATE TABLE "products" ( "product_no" INTEGER NOT NULL, "name" VARCHAR(20) NOT NULL, "price" NUMERIC(positive_price CHECK (price > 0)) NOT NULL )
有什么建议吗?
在花了一些时间思考找到的解决方案之后。要生成与使用 'migrations' 示例相同的 table 就足以在完成课程后添加 'CHECK (price> 0)'。
PHP:
'price' => array(
'type' => 'NUMERIC CHECK (price > 0)'
)