首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby MySQL数据库迁移脚本

Ruby MySQL数据库迁移脚本
EN

Stack Overflow用户
提问于 2016-10-22 17:25:47
回答 1查看 635关注 0票数 0

我对ruby完全陌生,我想为MySQL数据库创建一个数据库迁移脚本。我浏览了一些在线材料,为了创建迁移脚本,我不得不创建一个应用程序。

我可以在一个文件中编写一个数据库迁移脚本,它执行以下任务:

  1. 创建数据库
  2. 创建2-3个表
  3. 在这些表中添加一些数据

任何帮助或参考都是很好的。

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-22 21:17:10

您只能使用一个gem mysql2 - https://stackoverflow.com/a/14435522/3102718

mysql2activerecord

下面是迁移文件的示例:

create_database.rb

代码语言:javascript
复制
require 'mysql2'

client = Mysql2::Client.new(host: 'localhost', username: 'root')
client.query("CREATE DATABASE my_database")

require 'active_record'

class CreateUsers < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.string :name
      t.string :email
    end

    add_index :users, :email, unique: true
  end
end

class CreatePosts < ActiveRecord::Migration
  def self.up
    create_table :posts do |t|
      t.references :user, index: true
      t.string :title
      t.text :body
    end
  end
end

ActiveRecord::Base.establish_connection(
  adapter: 'mysql2',
  encoding: 'utf8',
  host: 'localhost',
  database: 'my_database',
  username: 'root',
  socket: '/tmp/mysql.sock'
)

CreateUsers.up
CreatePosts.up

class User < ActiveRecord::Base
  has_many :posts
end

class Post < ActiveRecord::Base
  belongs_to :user
end

user = User.create(email: "test@example.com", name: "User")
user.posts.create(title: "My Post", body: "Lorem ipsum")

使用$ ruby create_database.rb运行它(应该安装gems、mysql2activerecord )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40194987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档