我目前正在使用apiato框架,因为我已经创建了表并运行migrate命令,它将创建一个表,但一旦我想修改现有的表,因此我需要运行php aristan migrate:fresh,所有表的所有数据将被删除。您有任何其他方法,我可以简单地修改我的迁移代码并更新到数据库服务器,而不删除所有添加的现有数据?
php aristan migrate:fresh
jum4pzuy1#
您应该避免编辑旧的迁移文件。请创建一个新的迁移并在其中进行编辑。您可以在此处了解如何更新表
juzqafwq2#
编辑整个迁移文件(尤其是在生产环境中)并不好。更好的方法是创建一个新迁移供您编辑。例如,如果要在表中添加列,请创建一个名为:
add_<column_name>_to_<table_name>_table
话虽如此,迁移一个文件不会改变你的整个数据库,只是刷新一个文件。为了做到这一点,只需运行:
php artisan migrate:refresh --path=<path_to_your_migration_file>
在使用apiato时,目录应该类似于
Containers/<container_name>/Data/Migrations/<migration_file_name>
希望这对你有用。
2条答案
按热度按时间jum4pzuy1#
您应该避免编辑旧的迁移文件。请创建一个新的迁移并在其中进行编辑。
您可以在此处了解如何更新表
juzqafwq2#
编辑整个迁移文件(尤其是在生产环境中)并不好。更好的方法是创建一个新迁移供您编辑。例如,如果要在表中添加列,请创建一个名为:
话虽如此,迁移一个文件不会改变你的整个数据库,只是刷新一个文件。为了做到这一点,只需运行:
在使用apiato时,目录应该类似于
希望这对你有用。