关于Sequelize数据库迁移的问题
Question about Sequelize database migrations
我正在使用 Sequelize 作为 Postgres 数据库的 ORM。我开始学习和使用 Sequelize 迁移和播种功能。所以据我所知,迁移的主要目的是可靠地对数据库架构进行更改而不影响内部数据。我创建了第一个迁移以根据当前模式创建表。我还创建了第一个种子来用一些数据填充表格。现在我想明白:
我如何应用此迁移(以及未来的迁移)在生产(第一次)和开发中启动数据库?
理想情况下,由于这些迁移跟踪模式更改,我可以在任何环境(生产、暂存、开发)中 运行 它们,它将 create/update 该环境中的表。
下面是迁移工作原理的粗略概述。
如果您进行了迁移(npx sequelize-cli db:migrate
),那么您的 table 必须有一个名为 SequelizeMeta
的 table 或类似于数据库下的名称。
// SequelizeMeta
name
xxxx-create-user-table
xxxx-update-user-table
...
您可以通过匹配那里的名称来检查应用了哪些迁移。
所以它是一个 git 数据库模式。
现在让我们回答问题。
问:如何应用此迁移(以及未来的迁移)在生产(第一次)和开发中启动数据库?
A:访问您的服务器实例(可以是 ec2 或您的本地机器)并运行迁移到那里(npx sequelize-cli db:migrate
)。
通常您会针对不同的环境使用不同的数据库,例如,使用本地 MySQL 数据库进行开发,使用 AWS RDS
进行生产等。
因此,如果您有新的未完成的迁移,您应该在部署后进行迁移。 (访问服务器实例和 运行 迁移)
我正在使用 Sequelize 作为 Postgres 数据库的 ORM。我开始学习和使用 Sequelize 迁移和播种功能。所以据我所知,迁移的主要目的是可靠地对数据库架构进行更改而不影响内部数据。我创建了第一个迁移以根据当前模式创建表。我还创建了第一个种子来用一些数据填充表格。现在我想明白: 我如何应用此迁移(以及未来的迁移)在生产(第一次)和开发中启动数据库? 理想情况下,由于这些迁移跟踪模式更改,我可以在任何环境(生产、暂存、开发)中 运行 它们,它将 create/update 该环境中的表。
下面是迁移工作原理的粗略概述。
如果您进行了迁移(npx sequelize-cli db:migrate
),那么您的 table 必须有一个名为 SequelizeMeta
的 table 或类似于数据库下的名称。
// SequelizeMeta
name
xxxx-create-user-table
xxxx-update-user-table
...
您可以通过匹配那里的名称来检查应用了哪些迁移。
所以它是一个 git 数据库模式。
现在让我们回答问题。
问:如何应用此迁移(以及未来的迁移)在生产(第一次)和开发中启动数据库?
A:访问您的服务器实例(可以是 ec2 或您的本地机器)并运行迁移到那里(npx sequelize-cli db:migrate
)。
通常您会针对不同的环境使用不同的数据库,例如,使用本地 MySQL 数据库进行开发,使用 AWS RDS
进行生产等。
因此,如果您有新的未完成的迁移,您应该在部署后进行迁移。 (访问服务器实例和 运行 迁移)