Mysql 我可以从.sql创建初始CodeIgniter db迁移吗?
我有一个CodeIgniter应用程序,我刚刚了解了迁移。它听起来非常有用,我想开始使用它。然而,我已经有一个相当复杂的数据库设置。有人能建议一种合理的方法从我的MYSQL.sql模式文件创建可靠的初始迁移吗Mysql 我可以从.sql创建初始CodeIgniter db迁移吗?,mysql,codeigniter,migration,Mysql,Codeigniter,Migration,我有一个CodeIgniter应用程序,我刚刚了解了迁移。它听起来非常有用,我想开始使用它。然而,我已经有一个相当复杂的数据库设置。有人能建议一种合理的方法从我的MYSQL.sql模式文件创建可靠的初始迁移吗 使用dbforge手动重新创建整个数据库似乎有些过分,但也许这正是我应该做的。我手动处理SQL文件,然后发现了Jamie Rumbollow的模式库。它使模式操作比DBForge更易于管理,但仍然需要手动输入 有人提出了他的基本模型和模式库的mashup,这使得原型制作速度更快 这允许
使用dbforge手动重新创建整个数据库似乎有些过分,但也许这正是我应该做的。我手动处理SQL文件,然后发现了Jamie Rumbollow的模式库。它使模式操作比DBForge更易于管理,但仍然需要手动输入 有人提出了他的基本模型和模式库的mashup,这使得原型制作速度更快
这允许您自动执行CRUD模型操作和模式延迟回复,但我入侵了一个快速库,该库将从当前数据库为您生成基本迁移文件。它仍然是beta版,但可以在我的系统40表上运行+ L:访问 您将得到类似于applications/migration/001_create_base.php的内容
public function up() {
## Create Table sis_customer
$this->dbforge->add_field(array(
'id' => array(
'type' => 'VARCHAR',
'constraint' => 40,
'null' => FALSE,
),
'ip_address' => array(
'type' => 'VARCHAR',
'constraint' => 45,
'null' => FALSE,
),
'timestamp' => array(
'type' => 'INT',
'unsigned' => TRUE,
'null' => FALSE,
'default' => '0',
),
'data' => array(
'type' => 'BLOB',
'null' => FALSE,
),
'`datetime_reg` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ',
));
$this->dbforge->create_table("sessions", TRUE);
$this->db->query('ALTER TABLE `sessions` ENGINE = InnoDB');
));
public function down() {
### Drop table sessions ##
$this->dbforge->drop_table("sessions", TRUE);
}
这很好,但有一个大问题,那就是它只考虑来自键的PK,而不是(复合)唯一的或FK。它坏了,有人能推荐更新的吗?