在 cakephp3 中迁移
Migration in cakephp3
我是 cakephp3.refer http://book.cakephp.org/3.0/en/migrations.html 的新手,尝试使用 terminal.for 创建数据库示例:
bin/cake bake migration CreateProducts name:string description:text created modified
此命令创建文件,当使用下面的命令时,它会在 phpmyadmin 中创建数据库 table:
bin/cake migrations migrate
但我想更新 table 并在其中添加一列..所以当我尝试更新数据库时 table 它会创建另一个迁移文件..每次我想更新数据库时table..这些看起来很奇怪..因为我想更新单曲 table..
有什么办法吗,所以我每次通过迁移都使用相同的功能更新数据库 table?
当您使用迁移时,在数据库中看到有一个 table 名称 phinxlog
。在这个 table 中有一个名为 version
的字段名称。什么时候你会发出命令
bin/cake migrations migrate
然后这个table会被更新。现在查看版本字段,这里有一些数字,如 20150911090111
。这个数字实际上添加到您的迁移文件中,对吗?
如果这个号码已经在你的phinxlog
table中访问过,这个文件将永远不会再访问。这意味着在你的命令
之后
bin/cake migrations migrate
该命令不适用于已在 pinixlog
table.
中访问过的文件
因此,如果创建了另一个迁移文件,请不要害怕。
要添加新列,请参阅
是的,也可以在旧迁移文件中添加新列,只需手动添加即可
->addColumn('field_name', 'types', [
'default' => null,
'limit' => 11,
'null' => false,
])
然后重命名文件名。然后给出 migration migrate
again.I 希望它现在能起作用。
我是 cakephp3.refer http://book.cakephp.org/3.0/en/migrations.html 的新手,尝试使用 terminal.for 创建数据库示例:
bin/cake bake migration CreateProducts name:string description:text created modified
此命令创建文件,当使用下面的命令时,它会在 phpmyadmin 中创建数据库 table:
bin/cake migrations migrate
但我想更新 table 并在其中添加一列..所以当我尝试更新数据库时 table 它会创建另一个迁移文件..每次我想更新数据库时table..这些看起来很奇怪..因为我想更新单曲 table.. 有什么办法吗,所以我每次通过迁移都使用相同的功能更新数据库 table?
当您使用迁移时,在数据库中看到有一个 table 名称 phinxlog
。在这个 table 中有一个名为 version
的字段名称。什么时候你会发出命令
bin/cake migrations migrate
然后这个table会被更新。现在查看版本字段,这里有一些数字,如 20150911090111
。这个数字实际上添加到您的迁移文件中,对吗?
如果这个号码已经在你的phinxlog
table中访问过,这个文件将永远不会再访问。这意味着在你的命令
bin/cake migrations migrate
该命令不适用于已在 pinixlog
table.
因此,如果创建了另一个迁移文件,请不要害怕。 要添加新列,请参阅
是的,也可以在旧迁移文件中添加新列,只需手动添加即可
->addColumn('field_name', 'types', [
'default' => null,
'limit' => 11,
'null' => false,
])
然后重命名文件名。然后给出 migration migrate
again.I 希望它现在能起作用。