Сценарии SQL под Подверсией

Что-то вроде этого будет работать:

@interface NSString (usefull_stuff)
- (BOOL) isAllDigits;
@end

@implementation NSString (usefull_stuff)

- (BOOL) isAllDigits
{
    NSCharacterSet* nonNumbers = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    NSRange r = [self rangeOfCharacterFromSet: nonNumbers];
    return r.location == NSNotFound && self.length > 0;
}

@end

, тогда просто используйте это так:

NSString* hasOtherStuff = @"234 other stuff";
NSString* digitsOnly = @"123345999996665003030303030";

BOOL b1 = [hasOtherStuff isAllDigits];
BOOL b2 = [digitsOnly isAllDigits];

Вам не нужно включать функциональность в расширение для частной категории, как это , но это, безусловно, облегчает повторное использование ..

Мне нравится это решение лучше, чем другие, так как оно никогда не переполняет некоторые int / float, которые сканируются с помощью NSScanner - количество цифр может быть практически любой длины.

8
задан Jeremy E 5 June 2009 в 19:42
поделиться

3 ответа

Я большой поклонник http://www.liquibase.org/ . Он позволяет вам отслеживать версии вашей базы данных, включая возможность «обновлять» и «откатывать» вашу схему / данные.

У них хороший синтаксис XML, который поддерживает общие рефакторинги, включая те, которые подробно описаны в ] http://databaserefactoring.com/

У них также есть плагины Eclipse, которые помогают создавать сценарии изменений, и задачи ant для интеграции в вашу сборку.

Моя единственная жалоба в том, что она основана на Java, и мне это нравится установки java на моем сервере сборки для проектов .NET. В таком случае я

3
ответ дан 6 December 2019 в 00:08
поделиться

Вам следует изучить, как такие фреймворки, как rails, обрабатывают миграции

http://dizzy.co.uk/ruby_on_rails/cheatsheets/rails-migrations

1
ответ дан 6 December 2019 в 00:08
поделиться

I могу порекомендовать вам такой сценарий:

  1. Dbunit для заполнения данных (например, словарей, основных данных и другой важной информации базы данных)
  2. Liquibase из dbdeploy для рефакторинга базы данных. На мой взгляд, liquibase является более ориентированным на рефакторинг инструментом, а dbdeploy - более ориентированным на процессы (т.е. вам нужно делать больше вручную, но это упрощает процесс разработки, тестирования и производственной поддержки).

Если ваша компания использует ORM, вы можете на лету создать схему базы данных «diff» на основе механизма ORM. Кроме того, если ваш продукт работает с разными базами данных, у вас будет дополнительный уровень сложности. К сожалению, ни dbdeploy , ни Liquiase не удовлетворили меня при разработке / рефакторинге нескольких баз данных.

0
ответ дан 6 December 2019 в 00:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: