Weitere ähnliche Inhalte
Ähnlich wie Database Schema as Code (20)
Kürzlich hochgeladen (20)
Database Schema as Code
- 7. gem install –g ridgepole
yum install epel-release
yum install ruby
yum groupinstall "Development Tools“
yum install mysql-devel
gem install –g mysql2
- 9. # vi Schemafile
create_table "articles", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "title", collation: "ascii_bin"
t.text "text", null: false, collation: "utf8mb4_bin"
t.datetime "created_at"
t.datetime "updated_at"
end
- 10. # MYSQL_HOST=10.10.10.11
ridgepole --config config.yml -E development_1 --file Schemafile --apply --dry-run
# CREATE TABLE `articles` (
# `id` int(11) auto_increment PRIMARY KEY,
# `title` varchar(255),
# `text` text NOT NULL,
# `created_at` datetime,
# `updated_at` datetime)
# ENGINE=InnoDB DEFAULT CHARSET=utf8
- 11. # MYSQL_HOST=10.10.10.11
ridgepole --config config.yml -E development_1 --file Schemafile --apply
Apply `schemafile`
-- create_table("articles", {:options=>"ENGINE=InnoDB DEFAULT CHARSET=utf8"})
-> 0.0146s
cadmin@host1:~ $ mysql -u root -h 10.10.10.11 -D ridgepole_test -e 'show create table
articlesG'
Table: articles
Create Table: CREATE TABLE `articles` (
`id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) DEFAULT NULL,
`text` text NOT NULL, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT
NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
- 12. # vi Schemafile
create_table "articles", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "title", null: false collation: "ascii_bin"
t.datetime "created_at"
t.datetime "updated_at"
end
- 13. # MYSQL_HOST=10.10.10.11
ridgepole --config config.yml -E development_1 --file Schemafile –apply –dry-run
# ALTER TABLE `articles` CHANGE `title` `title` varchar(255) NOT NULL
# ALTER TABLE `articles` DROP `text`
Create Table: CREATE TABLE `articles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8