# Плагины Rails против плагинов Discourse — в чём разница?

**URL:** https://meta.discourse.org/t/rails-plugins-vs-discourse-plugins-what-is-the-difference/127109
**Category:** Development
**Created:** [29.Август.2019 12:15:42 UTC](https://meta.discourse.org/t/rails-plugins-vs-discourse-plugins-what-is-the-difference/127109 "2019-08-29T12:15:42Z")
**Posts on this page:** 1
**Showing post:** 7

<div class="post-metadata">

### Author: ![spirobel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/spirobel/32/170908_2.png) [@spirobel](https://meta.discourse.org/u/spirobel)
#### Post date: [29.Август.2019 13:23:53 UTC](https://meta.discourse.org/t/rails-plugins-vs-discourse-plugins-what-is-the-difference/127109/7 "2019-08-29T13:23:53Z")

</div>

> <https://github.com/discourse/discourse/blob/888e68a1637ca784a7bf51a6bbb524dcf7413b13/app/models/plugin_store.rb>

Это просто хранилище «ключ-значение». Там нельзя хранить связи между таблицами. Мне нравится SQL, и мне нужно использовать его для плагина, который я хочу создать.

> [@How to create migration files?](https://meta.discourse.org/t/how-to-create-migration-files/48991/3?u=spirobel):
>
> Note that if you are developing a plugin, discourse provides a PluginStore to help you avoid migrations, since undoing then when the plugin gets uinstalled is a open problem.

Понимаю, что эта проблема касается тех, кто хочет создавать плагины, которые могут устанавливать и удалять «нетехнические пользователи». Я не из таких людей. Поэтому буду рад, если мы вернёмся к теме.

---

_[View the full topic](https://meta.discourse.org/t/rails-plugins-vs-discourse-plugins-what-is-the-difference/127109)._
