Как насчет toLocaleString
метод?
> 0.1+0.2
< 0.30000000000000004
> (0.1+0.2).toLocaleString()
< 0.3
, Если Вы хотите, чтобы он продолжил свое вычислимое.
Number.parseFloat((0.1+0.2).toLocaleString())
Number.prototype.toLocaleString ()
, Почему бы не посмотреть документ ?
> 1000.021+0.02
< 1000.0409999999999
> (1000.021+0.02).toLocaleString()
< "1,000.041"
/// why not use this?
> (1000.021+0.02).toLocaleString("zh",{useGrouping: false,maximumFractionDigits: 10})
< "1000.041"
См. , как управлять версиями баз данных сервера sql и Вы управляете исходным кодом своих баз данных , среди многих других. Или используйте поиск страницу . В принципе, ваш подход кажется правильным. Удачи в убеждении администратора базы данных ...
Если вы используете Visual Studio Team System, я рекомендую попробовать их Database Edition (я думаю, что в наши дни она поставляется с Developer Edition, если вы являетесь подписчиком MSDN). Что это позволит вам сделать, так это создать сценарий для всей вашей схемы, сохраненных процессов, представлений, триггеров и т. Д. И контролировать их. Это также должно сделать dba более комфортным, так как он будет работать с версией инструмента «База данных», а не версией «Разработчик» (наименование может пойти на многое). Внося изменения из Visual Studio, вы можете управлять изменениями скриптов во время работы и контролировать их исходный код.
Если у вашей компании есть лицензия MSDN, они могут использовать выпуск Visual Studio Database. Видеоурок по нему есть здесь .
У меня нет возможности покупать, поэтому я не знаю, какова разбивка затрат. Но он имеет возможность исходного управления всеми частями схемы БД и включает создание сценариев изменений, а также автоматическое развертывание прямо из VS, если хотите (я бы не рекомендовал это).
В целом, это довольно надежный вариант управления версиями базы данных.
Во-первых, вы приближаетесь к этому неправильно. Если dba не укусит Source Control и он делает ошибки, влияющие на систему, человек, которого вам нужно убедить, будет его боссом.
Если это поможет, я тоже из старой школы, и мне нравится, когда мы объекты базы данных в системе управления версиями. Как приятно иметь возможность вернуть одну таблицу без необходимости восстанавливать всю резервную копию базы данных в другое место, а затем перемещать таблицу. Насколько быстрее и проще. Как приятно иметь возможность сравнить две разные версии и посмотреть, что изменилось. Как приятно развернуть изменение и точно знать, какие изменения базы данных (скажем, только двенадцать из 23 возможных) идут с той частью, которую вы развертываете, а не с каким-либо другим незавершенным проектом. Как приятно знать, какие именно скрипты были задействованы в том или ином изменении, которое вам нужно было откатить. Как хорошо, что никто не вносит изменения на лету в производственную среду, поскольку теперь мы требуем, чтобы все производственные изменения происходили из скриптов системы управления версиями. Намного меньше ошибок и проблем, о которых нужно беспокоиться.
Да, это было изменение в том, как мы ведем бизнес, но мы сделали это путем изменения политики сверху, так что три не было аргументом, и база данных прошла через пару раз и вернула любые объекты, отличные от управления исходным кодом, в источник контрольная версия, поэтому теперь никто даже не подумает о внесении изменений в базу данных, если она не находится в системе контроля версий.
но мы сделали это путем изменения политики сверху, поэтому три не было аргументом, а база данных прошла через пару раз и вернула любые объекты, отличные от системы управления версиями, на версию системы управления версиями, так что теперь никто даже не подумает об изменении базы данных без этого в системе управления версиями. но мы сделали это путем изменения политики сверху, поэтому три не было аргументом, а база данных прошла через пару раз и вернула любые объекты, отличные от системы управления версиями, на версию системы управления версиями, так что теперь никто даже не подумает об изменении базы данных без этого в системе управления версиями.Управление исходным кодом для баз данных может быть довольно спорным. Другое дело использовать контроль версий для чего-то, что создает двоичный файл, потому что вы не можете заблокировать источник: хранимая процедура - это строка в таблице, и нет ни одной таблицы для чтения, чтобы получить определение таблицы.
Кроме того, от версии к версии в основном используется набор операторов ALTER. Вы пишете сценарии CREATE и добавляете их в систему управления версиями. Это затрудняет использование в подобных случаях.
Для меня это скорее процедурная ошибка.
Почему изменение не было выполнено из сценария? Забудьте, где находится сценарий, но почему нет воспроизводимого и повторно запускаемого сценария? Возможно, связано с номером отслеживания изменений? Если база данных сброшена (загружена из продукта), то каким образом изменение было бы повторно применено для подготовки к производству. И другие вопросы.
Я верю в систему контроля версий, и мы ее используем: но у нее есть ограничения для работы с базами данных.
Вы пишете сценарии CREATE и добавляете их в систему управления версиями. Это затрудняет использование в подобных случаях.Для меня это скорее процедурная ошибка.
Почему изменение не было выполнено из сценария? Забудьте, где находится сценарий, но почему нет воспроизводимого и повторно запускаемого сценария? Возможно, связано с номером отслеживания изменений? Если база данных сброшена (загружена из prod), то как было бы повторно применить изменение для подготовки к производству. И другие вопросы.
Я верю в систему контроля версий, и мы ее используем: но у нее есть ограничения для работы с базами данных.
Вы пишете сценарии CREATE и добавляете их в систему управления версиями. Это затрудняет использование в таких случаях.Для меня это скорее процедурная ошибка.
Почему изменение не было выполнено из сценария? Забудьте, где находится сценарий, но почему нет воспроизводимого и повторно запускаемого сценария? Возможно, связано с номером отслеживания изменений? Если база данных сброшена (загружена из продукта), то каким образом изменение было бы повторно применено для подготовки к производству. И другие вопросы.
Я верю в систему контроля версий, и мы ее используем: но у нее есть ограничения для работы с базами данных.
но почему нет воспроизводимого и повторно запускаемого сценария? Возможно, связано с номером отслеживания изменений? Если база данных сброшена (загружена из prod), то как было бы повторно применить изменение для подготовки к производству. И другие вопросы.Я верю в систему контроля версий, и мы ее используем: но у нее есть ограничения для работы с базами данных.
но почему нет воспроизводимого и повторно запускаемого сценария? Возможно, связано с номером отслеживания изменений? Если база данных сброшена (загружена из продукта), то каким образом изменение было бы повторно применено для подготовки к производству. И другие вопросы.Я верю в контроль версий, и мы его используем: но у него есть ограничения на работу с базами данных.
на самом деле вы не можете поместить большую базу данных в систему управления версиями, поэтому ваш администратор баз данных прав.
практически вы можете поместить свою схему в систему управления версиями, а может и несколько небольшие "конфигурационные" таблицы.
Один из способов управления базой данных - хранить данные в базе данных и о ней отдельно
Вы можете иметь все таблицы, процедуры и сценарии функций в виде файлов SQL и добавлять их в систему управления версиями.
Экспортировать данные базы данных в виде операторов вставки в файлы SQL, каждый с фиксированным размером. Это громоздкий процесс, так как он потребует большого количества файлов, которые необходимо отслеживать и контролировать.
Я не уверен, может ли VSS / SVN читать и сохранять историю изменений файлов дампа, созданных резервной копией базы данных. параметры.
От вас не ясно, хотите ли вы защитить данные в Db или схемы в Db. В последнем случае вы могли бы идентифицировать все важные схемы и запустить задание cron, которое извлекает определения схем из базы данных и автоматически вставляет их в систему управления версиями (возможно, даже с помощью триггеров на схемах ??).
Но это по-прежнему сводится к более частому резервному копированию системы. Для того, что вы предполагаете, вам понадобится система управления версиями, интегрированная с инструментами Db, и я не знаю ни одного продукта, который бы это делал.
(и мне страшно подумать о VSS, интегрированном в студию управления SQL: - (()
Моим ответом на эту же проблему был экспорт всех объектов БД в текстовую форму (более 136 000 из них), а затем создание проектов SourceSafe для их хранения. Любые новые или измененные объекты в БД теперь переходят в структуру SourceSafe, а неизмененные остаются нетронутыми.
В качестве менеджера по продукту для SQL Compare я разговаривал со многими «традиционными» администраторами баз данных, которым неудобно пользоваться сторонними инструментами, главным образом потому, что у них есть система, которая работает для них, и иногда изменение может быть затруднено. Есть много ситуаций, когда я убежден, что они выиграли бы от наших инструментов, если бы только дали им шанс. Разочарование.
Вы можете подумать о том, чтобы попробовать новый инструмент Red Gate, SQL Source Control. Это предназначено для встраивания системы управления версиями в SSMS, другими словами, это не t требуют, чтобы администраторы баз данных покинули зону комфорта своей среды управления. Плохая новость в том, что инструмент еще не выпущен. Хорошая новость в том, что у нас есть Программа раннего доступа. Посетите следующую ссылку, чтобы узнать больше об этом инструменте:
http://www.red-gate.com/Products/SQL_Source_Control/index.htm