我有一个带有Rails应用程序的mariaDB数据库。
我打算先正常设置Rails应用程序,然后使用其用户界面首先创建数据库数据,然后使用mysqldump导出这些数据。
mysqldump -u username -p database_name > data-dump.sql
我的问题是,如果以后再迁移,是否仍可以加载mysql dump而不会遇到问题?
例如,如果我的迁移删除了列,是否应该再次使用mysqldump创建新的数据库备份?
关于架构,我需要注意什么吗?
答案 0 :(得分:2)
当您执行mysqldump时,默认情况下会包含表create语句。仅当您传递--no-create-info标志时,才会排除它们。由于迁移只是对表的更改,因此可以放心,以后再加载数据时,数据将在转储数据库之前应用所有迁移。
此外,当您运行迁移时,rails会在schema_migrations表中跟踪已运行的迁移。因此,如果您回滚到以后有更多迁移的时间点,则可以重新运行rake db:migrate,并且仅那些新的将运行,因为这些数据都是备份的一部分。