私はいくつかのエクトレコードを持っています。しかし、私は大量のレコードを再生するためにそれらを複製(100倍にする)したい。エクト機構を介してどうすればいいですか?Ectoのレコードを複製するには?
2
A
答えて
4
あなたは、単にレコードからIDキーを削除することによってdup
を複製することができます。
for n <- (0..10), do: User |> Repo.get(record_id) |> Map.delete(:id) |> Repo.insert
あなたはユニークなキーを持っている場合には動作しませんが...それは構造体を自分で移入する必要があなたを残します:
def spawn_records(line_numbers) do
for line <- line_numbers do
%User{first_name: "Tyrone", last_name: "Shoelaces#{line}"} |> Repo.insert
end
end
この2番目の回答を考えているなら、私はDogbertをエコーして、devでex_machinaを使用することをおすすめします。
0
私は:idを取り除いた後、私は自分の関連付けをあらかじめロードしていないため、挿入しようとしている間に問題に遭遇しました。私がレコードを複製するだけであれば、私はそれをする必要はないはずです。だから私はこの方法を思いついたのです。これは、あなたのスキーマの必須フィールドとオプションフィールドがモジュールの定数として定義されていることを前提としています。
@required_fields [:id, :name, :association_id]
@optional_fields [:other_field]
def duplicate(record) do
dup = Map.take(record, @required_fields ++ @optional_fields)
changeset(%YourModule{}, dup)
|> Repo.insert!
end
関連する問題
- 1. アイテム/レコードを複製する方法は?
- 2. 複数の複製のレコードを1つ取得するには
- 3. 複製のレコードはイメージを複製していません
- 4. レコードを複製せずにテーブルにレコードを挿入する
- 5. oracleのレコードの複製
- 6. Ecto Query - 1つの関連するオブジェクトに複数のレコードをプリロードする
- 7. Cでレコードを複製する#
- 8. CakePhpでSQLレコードを複製/コピーするには?
- 9. PHPでレコードを複製しますか?
- 10. Fluent Hibernate Updatingの代わりにレコードを複製する
- 11. addAttributeRangeToQueryは結果にレコードを複製します
- 12. MYSQL、レコードを複製するが列の値を変更する
- 13. Ecto複数のノードを使用する
- 14. mysqlはデータベースからのレコードのみを複製します
- 15. Hibernateの多対多は同じレコードを複製します
- 16. Simperiumは既存のレコードを複製します
- 17. SQL - 一致するレコード間でデータを複製する
- 18. MySQLのレコードを複製する最も速い方法
- 19. Mysql:毎分最後のレコードを複製する
- 20. postgresql内部結合いくつかのレコードを複製する
- 21. Ectoの複数のデータベース
- 22. Immutable.jsレコードのメソッドは複製されますか?
- 23. Laravel新しい値でレコードをコピーして複製する
- 24. 一致するレコードを見つけて複製しない
- 25. レコードのシステムを別のシステムに複製する必要がありますか?
- 26. Ecto Repositoryにターミナル経由でレコードを追加する方法は? (iex)
- 27. tortoisesvnのフォルダを複製するには
- 28. テーブルレコードのディープコピー - レコードとすべての関連データの複製
- 29. 複雑なクエリのためにElixir - Ectoを使用する
- 30. Rails:レコードとその複数レベルの関連付けを複製しますか?
おそらくhttps://github.com/thoughtbot/ex_machinaが必要です。 – Dogbert
私は 'test' envの外でex_machinaを使いたくありません:P – asiniy
ダミー解法:' Repo.insert'でいくつかの範囲をループしますが、あなたはそれについてすでに考えていました。 – PatNowak