質問編集履歴

5

質問内容の修正

2018/10/03 02:48

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,9 @@
42
42
 
43
43
 
44
44
 
45
+ もしその認識で正しいのであれば
46
+
45
- db/migrate 以下同じ名前で空のファイルに置き換えた状態で
47
+ db/migrate 以下これまでの履歴と同じ名前で空のファイルに置き換えた状態で
46
48
 
47
49
  1度新規サーバーにデプロイしてマイグレーション履歴を作ってしまう
48
50
 
@@ -50,7 +52,7 @@
50
52
 
51
53
  既存のstaging, productionにデプロイして履歴を登録する
52
54
 
53
- そのあと 20181001....sql に初期化用の中身を描いて新規サーバーにデプロイする
55
+ そのあと履歴ファイルを戻して 20181001....sql に初期化用の中身を描いて新規サーバーにデプロイする
54
56
 
55
57
 
56
58
 

4

質問内容の修正

2018/10/03 02:48

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- マイグレーションを別にしてシステムのコピーを作りたい
1
+ 新規デタベースでシステムのコピーを作りたい
test CHANGED
@@ -1,48 +1,48 @@
1
- 在動てる Rails のシステムのコピーを別環境でも動かすことになったんですが
1
+ ### 前提・実したいこと
2
2
 
3
- データは別にしたいです
3
+ 現在1つのデータセットで Rails システムが動ているのです
4
+
5
+ 別環境で新たに同じシステムを追加することになりました
4
6
 
5
7
 
6
8
 
7
- ために新しく空のテーブル構成と最低限の管理ユザのみのデータの入ったマイグレションファイル用意したいのですが
9
+ テーブル構造でデタセットは別にして新規にデータ作成したい
8
-
9
- 既存の環境で初期化が実行されると大惨事なので
10
-
11
- 共通のマイグレーションリポジトリで特定の環境だけ実行されるようなマイグレーションはどうやって作ればいいでしょうか
12
10
 
13
11
 
14
12
 
15
- マイグレーションやデプロイ関連は先人が設定してくれた内容を使ってただけで全く知識がないので
13
+ ### 発生している問題
16
14
 
17
- 見当外れな話をていたらいません
15
+ 既存のマイグレーションは途中で手動で変更さたせいのか一部マイグレーションに失敗
18
16
 
19
17
 
20
18
 
21
- 追記:
19
+ ###試したいこと
22
20
 
23
21
 
24
22
 
25
- staging production user というテがあって
23
+ 新規にこれまでの履歴を無視したデタベース構成を作成するファイ
26
24
 
25
+ CREATE TABLE 'users' ...
26
+
27
+ みたいなのと
28
+
29
+ 最低限の管理用初期データを挿入するファイル
30
+
31
+ INSERT INTO 'users' ...
32
+
27
- これまでマグレーションいろいろなカラムが追加された状態です
33
+ というファルを作って新規環境のみ実行されるようにしです
34
+
35
+ (既存環境でデータが初期化されたら大惨事になる)
28
36
 
29
37
 
30
38
 
31
- 別リョンで新しく同じシステムの staging なし production
39
+ マイグレョン db/migrate 以下 SQL コマンドリストをファイル単位でどこまで実行したか記憶して
32
40
 
33
- カラムはいままでと同じ状態でレコードは最低限管理ユーザみの状態でサービスをはじめたいです
41
+ 未実行差分だけを実行するもう認識なんですがあってますでしょうか
34
42
 
35
43
 
36
44
 
37
- サービスプログラム自体は共通なのでリポジトリは使いまわしたいんですが
38
-
39
- migration ディレクトリも同じだと当然データベースの状態も同じになってしまうので
40
-
41
- 新規リージョンのサーバーには別のマイグレーションを適用したいです
42
-
43
-
44
-
45
- 方法としては migration/ 以下同じ名前で空のファイルに置き換えた状態で
45
+ db/migrate 以下同じ名前で空のファイルに置き換えた状態で
46
46
 
47
47
  1度新規サーバーにデプロイしてマイグレーション履歴を作ってしまう
48
48
 
@@ -58,4 +58,10 @@
58
58
 
59
59
 
60
60
 
61
- 毎回新規鯖を作るたびこういう手順をと必要があるんしょうか
61
+ もしもっ簡単実現す方法があれば教えていただきたい
62
+
63
+
64
+
65
+ マイグレーションやデプロイ関連は先人が設定してくれた内容を使っていただけで全く知識がないので
66
+
67
+ 見当外れな話をしていたらすいません

3

追記

2018/10/03 02:45

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,12 @@
1
- 現在動いてる Rails のシステムを別環境で動かすことになったんですが
1
+ 現在動いてる Rails のシステムのコピーを別環境で動かすことになったんですが
2
+
3
+ データは別にしたいです
2
4
 
3
5
 
4
6
 
5
- 新しく空のテーブル構成と最低限の管理ユーザのみのデータの入ったマイグレーションファイルを用意したいのですが
7
+ そのために新しく空のテーブル構成と最低限の管理ユーザのみのデータの入ったマイグレーションファイルを用意したいのですが
6
8
 
7
- 既存の環境で実行されると大惨事なので
9
+ 既存の環境で初期化が実行されると大惨事なので
8
10
 
9
11
  共通のマイグレーションリポジトリで特定の環境だけ実行されるようなマイグレーションはどうやって作ればいいでしょうか
10
12
 

2

追記

2018/10/02 06:01

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- マイグレーションを整理したい
1
+ マイグレーションを別にてシステムのコピーを作りたい
test CHANGED
File without changes

1

追記

2018/10/02 05:58

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -13,3 +13,47 @@
13
13
  マイグレーションやデプロイ関連は先人が設定してくれた内容を使っていただけで全く知識がないので
14
14
 
15
15
  見当外れな話をしていたらすいません
16
+
17
+
18
+
19
+ 追記:
20
+
21
+
22
+
23
+ いま staging production で user というテーブルがあって
24
+
25
+ これまでマイグレーションでいろいろなカラムが追加された状態です
26
+
27
+
28
+
29
+ 別リージョンで新しく同じシステムの staging なし production のみ
30
+
31
+ カラムはいままでと同じ状態でレコードは最低限の管理ユーザのみの状態でサービスをはじめたいです
32
+
33
+
34
+
35
+ サービスプログラム自体は共通なのでリポジトリは使いまわしたいんですが
36
+
37
+ migration ディレクトリも同じだと当然データベースの状態も同じになってしまうので
38
+
39
+ 新規リージョンのサーバーには別のマイグレーションを適用したいです
40
+
41
+
42
+
43
+ 方法としては migration/ 以下同じ名前で空のファイルに置き換えた状態で
44
+
45
+ 1度新規サーバーにデプロイしてマイグレーション履歴を作ってしまう
46
+
47
+ 今度は初期化用マイグレーションファイル 20181001....sql を中身を空にした状態で
48
+
49
+ 既存のstaging, productionにデプロイして履歴を登録する
50
+
51
+ そのあと 20181001....sql に初期化用の中身を描いて新規サーバーにデプロイする
52
+
53
+
54
+
55
+ という手順をとれば schema の中身はおなじになって別のDBの状態にできそうな気がするんですけどあってますか?
56
+
57
+
58
+
59
+ あと毎回新規鯖を作るたびにこういう手順をとる必要があるんでしょうか